package cn.ai.shoes.client.service;

import cn.ai.shoes.client.entity.OssUploadLog;
import cn.ai.shoes.common.pojo.entity.CommonResult;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/**
 * OSS 文件上传服务接口
 */
public interface OssUploadService {

    /**
     * 上传图片到OSS并生成日志
     * @param multipart 图片文件
     * @return 上传结果，包含图片ID
     */
    CommonResult<?> uploadImage(MultipartFile multipart);

    /**
     * 上传蒙版图片
     * @param multipart 蒙版图片文件
     * @param originalId 原始图片ID
     * @return 上传结果，包含图片ID
     */
    CommonResult<?> uploadMask(MultipartFile multipart, Integer originalId);

    /**
     * 获取图片内容（回显）
     * @return 图片内容
     */
    CommonResult<?> feedback(Integer id);

    /**
     * 获取文件输入流
     * @param filePath 文件路径
     * @return 文件输入流
     */
    InputStream getFileInputStream(String filePath);

}
